#ifndef _FLOORHASMONSTER_TEST_H_
#define _FLOORHASMONSTER_TEST_H_

#include "FloorHasMonster.h"
#include "Monster.h"

#include "RegularSoldierNamable.h"
#include "RegularSoldierRepresentable.h"
#include "RegularSoldierMovable.h"
#include "RegularSoldierLiving.h"

#include "gmock/gmock.h"
#include "gtest/gtest.h"

/**
 * Checks the basic assingment for floor, that will allow it
 * to point to a monster that is standing on the floor.
 */
TEST(FloorHasMonster, setAndGetMonster)
{
  RegularSoldierNamable n;
  RegularSoldierRepresentable r;
  RegularSoldierMovable m;
  RegularSoldierLiving l;

  Monster mon(&n, &r, &m, &l);

  FloorHasMonster h;

  h.setMonster(&mon);
  EXPECT_TRUE(&mon == h.getMonster());
}

#endif /* _FLOORHASMONSTER_TEST_H_ */

